package org.jsola.hr.dao;

import org.apache.ibatis.annotations.Param;
import org.jsola.hr.entity.WeekdaysDO;
import org.jsola.orm.mapper.IJsolaMapper;
import org.springframework.stereotype.Repository;

import java.util.Date;


/**
 * 工作日历表
 *
 * @author zhr
 */
@Repository("hrWeekdaysDAO")
public interface IWeekdaysDAO extends IJsolaMapper<WeekdaysDO> {

    /**
     * 查询工作日总天数
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 工作日总天数
     */
    int selectCountWeekday(@Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 获取某时间段内的工作日，若结束时间是工作日，不计入工作日
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 工作日总天数
     */
    int workdayListNotIncludeEndDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 获取某时间段内的工作日，若结束时间是工作日，计入工作日 工作日列表包括结束日期
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 工作日总天数
     */
    int workdayListIncludeEndDate(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
}

